package com.platform.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.common.core.annotation.Excel;
import com.platform.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * 国际出港分单对象 mb_gjc_hawb
 * 一个主单下面有多个分单
 *
 * @author platform
 * @date 2023-04-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class GjcHawb extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 分单id
     */
    private Long hawbId;

    /**
     * 机场三字码
     */
    @Excel(name = "机场三字码")
    private String airportCode;

    /**
     * 分单号
     */
    @Excel(name = "分单号")
    private String billHno;

    /**
     * 关联主单前缀
     */
    @Excel(name = "关联主单前缀")
    private String billPrefix;

    /**
     * 关联主单单号
     */
    @Excel(name = "关联主单单号")
    private String billNo;

    /**
     * 件数
     */
    @Excel(name = "件数")
    private Long pc;

    /**
     * 重量
     */
    @Excel(name = "重量")
    private Double weight;

    /**
     * 体积
     */
    @Excel(name = "体积")
    private Double volume;

    /**
     * 英文品名
     */
    @Excel(name = "英文品名")
    private String goodEn;

    /**
     * 中文品名
     */
    @Excel(name = "中文品名")
    private String goodCn;

    /**
     * 收货人名称
     */
    @Excel(name = "收货人名称")
    private String consignee;

    /**
     * 收货人代码
     */
    @Excel(name = "收货人代码")
    private String consigneeId;

    /**
     * 收货人电话
     */
    @Excel(name = "收货人电话")
    private String consigneePhone;

    /**
     * 收运人地址
     */
    @Excel(name = "收运人地址")
    private String consigneeAddress;

    /**
     * 收货人城市
     */
    @Excel(name = "收货人城市")
    private String consigneeCity;

    /**
     * 收货人国家代码
     */
    @Excel(name = "收货人国家代码")
    private String consigneeCountry;

    /**
     * 发货人名称
     */
    @Excel(name = "发货人名称")
    private String shipper;

    /**
     * 发货人代码
     */
    @Excel(name = "发货人代码")
    private String shipperId;

    /**
     * 发货人电话
     */
    @Excel(name = "发货人电话")
    private String shipperPhone;

    /**
     * 发货人地址
     */
    @Excel(name = "发货人地址")
    private String shipperAddress;

    /**
     * 发货人城市
     */
    @Excel(name = "发货人城市")
    private String shipperCity;

    /**
     * 发货人国家代码
     */
    @Excel(name = "发货人国家代码")
    private String shipperCountry;

    /**
     * 运抵申报状态0-待申报1-已申报2-接收申报
     */
    @Excel(name = "运抵申报状态0-待申报1-已申报2-接收申报")
    private Integer arriveDecStatus;
    /**
     * 运抵时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "运抵时间")
    private Date arriveTime;
    /**
     * 预配申报状态0-待申报1-已申报2-接收申报
     */
    @Excel(name = "预配申报状态0-待申报1-已申报2-接收申报")
    private Integer prePlanDecStatus;

    /**
     * 配载申报状态0-待申报1-已申报2-接收申报
     */
    @Excel(name = "配载申报状态0-待申报1-已申报2-接收申报")
    private Integer loadDecStatus;

    /**
     * 理货申报状态0-待申报1-已申报2-接收申报
     */
    @Excel(name = "理货申报状态0-待申报1-已申报2-接收申报")
    private Integer tallyDecStatus;
    /**
     * 海关查验状态(0:查验,1:放行)
     */
    @Excel(name = "海关查验状态(0:查验,1:放行)")
    private String cusStatus;

    /**
     * 海关查验状态操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "海关查验状态操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date cusStatusTime;
    /**
     * 跨电放行状态(0:查验,1:放行)
     */
    @Excel(name = "跨电放行状态(0:查验,1:放行)")
    private String crossStatus;

    /**
     * 跨电放行状态操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "跨电放行状态操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date crossStatusTime;


    /**
     * 时间戳
     */
    @Excel(name = "时间戳")
    private String ts;

    private List<Long> ids;

}
